import mongoose from '@/config/DBHelper';

const Schema = mongoose.Schema;

const EventSchema = new Schema({
  // js-sdk 版本
  version: { type: String },
  // 浏览器 userAgent
  userAgent: { type: String },
  // 浏览器区域设置
  locale: { type: String },
  // API 接口密钥
  apiKey: { type: String },
  // web应用的URL
  url: { type: String },
  // web应用的标题
  title: { type: String },
  // 事件发生事件
  time: { type: Date },
  // 事件类型
  type: { type: String },
  // 请求参数
  req: {
    // 请求方法
    method: { type: String },
    // 请求URL
    url: { type: String },
  },
  res: {
    // 响应状态
    status: { type: Number },
    // 响应状态信息
    statusText: { type: String },
    // 响应数据
    response: { type: String },
    // 持续时间
    elapsedTime: { type: Number },
  },
  breadcrumbs: { type: Array },
});

// 添加静态方法
EventSchema.statics = {
  getList: function (page, limit) {
    return this.find({})
      .skip(page * limit)
      .limit(limit);
  },
};

const EventModel = mongoose.model('event', EventSchema);

export default EventModel;
